﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Model.ModelForJD
{
    /// <summary>
    /// 根据服务单号查询服务单明细信息
    /// </summary>
    public class ServiceDetailInfoForJD
    {
        /// <summary>
        /// 返回标识
        /// </summary>
        public bool success { get; set; }
        /// <summary>
        /// 返回描述
        /// </summary>
        public string resultMessage { get; set; }
        /// <summary>
        /// 返回编码
        /// </summary>
        public string resultCode { get; set; }
        /// <summary>
        /// 组件列表
        /// </summary>
        public CompatibleServiceDetailDTO result { get; set; }
    }

    public class CompatibleServiceDetailDTO
    {
        /// <summary>
        /// 服务单号
        /// </summary>
        public int afsServiceId { get; set; }
        /// <summary>
        /// 服务类型码
        /// </summary>
        public int customerExpect { get; set; }
        /// <summary>
        /// 服务单申请时间
        /// </summary>
        public string afsApplyTime { get; set; }
        /// <summary>
        /// 订单号
        /// </summary>
        public long orderId { get; set; }
        /// <summary>
        /// 是不是有发票
        /// </summary>
        public int isHasInvoice { get; set; }
        /// <summary>
        /// 是不是有检测报告
        /// </summary>
        public int isNeedDetectionReport { get; set; }
        /// <summary>
        /// 是不是有包装
        /// </summary>
        public int isHasPackage { get; set; }
        /// <summary>
        /// 上传图片访问地址
        /// </summary>
        public string questionPic { get; set; }
        /// <summary>
        /// 服务单环节
        /// </summary>
        public int afsServiceStep { get; set; }
        /// <summary>
        /// 服务单环节名称
        /// </summary>
        public string afsServiceStepName { get; set; }
        /// <summary>
        /// 审核意见
        /// </summary>
        public string approveNotes { get; set; }
        /// <summary>
        /// 问题描述
        /// </summary>
        public string questionDesc { get; set; }
        /// <summary>
        /// 审核结果
        /// </summary>
        public int approvedResult { get; set; }
        /// <summary>
        /// 审核结果名称
        /// </summary>
        public string approvedResultName { get; set; }
        /// <summary>
        /// 处理结果
        /// </summary>
        public int processResult { get; set; }
        /// <summary>
        /// 处理结果名称
        /// </summary>
        public string processResultName { get; set; }
        /// <summary>
        /// 客户信息
        /// </summary>
        public ServiceCustomerInfoDTO serviceCustomerInfoDTO { get; set; }
        /// <summary>
        /// 售后地址信息
        /// </summary>
        public ServiceAftersalesAddressInfoDTO serviceAftersalesAddressInfoDTO { get; set; }
        /// <summary>
        /// 客户发货信息
        /// </summary>
        public ServiceExpressInfoDTO serviceExpressInfoDTO { get; set; }
        /// <summary>
        /// 退款明细
        /// </summary>
        public List<ServiceFinanceDetailInfoDTO> serviceFinanceDetailInfoDTOs { get; set; }
        /// <summary>
        /// 服务单追踪信息
        /// </summary>
        public List<ServiceTrackInfoDTO> serviceTrackInfoDTOs { get; set; }
        /// <summary>
        /// 服务单商品明细
        /// </summary>
        public List<ServiceDetailInfoDTO> serviceDetailInfoDTOs { get; set; }
        /// <summary>
        /// 获取服务单允许的操作列表
        /// </summary>
        public List<int> allowOperations { get; set; }
    }

    public class ServiceCustomerInfoDTO
    {
        /// <summary>
        /// 客户京东账号
        /// </summary>
        public string customerPin { get; set; }
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string customerName { get; set; }
        /// <summary>
        /// 服务单联系人
        /// </summary>
        public string customerContactName { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string customerTel { get; set; }
        /// <summary>
        /// 手机号
        /// </summary>
        public string customerMobilePhone { get; set; }
        /// <summary>
        /// 电子邮件地址
        /// </summary>
        public string customerEmail { get; set; }
        /// <summary>
        /// 邮编
        /// </summary>
        public string customerPostcode { get; set; }
    }
    public class ServiceAftersalesAddressInfoDTO
    {
        /// <summary>
        /// 售后地址
        /// </summary>
        public string address { get; set; }
        /// <summary>
        /// 售后电话
        /// </summary>
        public string tel { get; set; }
        /// <summary>
        /// 售后联系人
        /// </summary>
        public string linkMan { get; set; }
        /// <summary>
        /// 售后邮编
        /// </summary>
        public string postCode { get; set; }
    }
    public class ServiceExpressInfoDTO
    {
        /// <summary>
        /// 服务单号
        /// </summary>
        public int afsServiceId { get; set; }
        /// <summary>
        /// 运费
        /// </summary>
        public string freightMoney { get; set; }
        /// <summary>
        /// 快递公司名称
        /// </summary>
        public string expressCompany { get; set; }
        /// <summary>
        /// 客户发货日期
        /// </summary>
        public string deliverDate { get; set; }
        /// <summary>
        /// 快递单号
        /// </summary>
        public string expressCode { get; set; }
    }
    public class ServiceFinanceDetailInfoDTO
    {
        /// <summary>
        /// 退款方式
        /// </summary>
        public int refundWay { get; set; }
        /// <summary>
        /// 退款方式名称
        /// </summary>
        public string refundWayName { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int status { get; set; }
        /// <summary>
        /// 状态名称
        /// </summary>
        public string statusName { get; set; }
        /// <summary>
        /// 退款金额
        /// </summary>
        public decimal refundPrice { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        public string wareName { get; set; }
        /// <summary>
        /// 商品编号
        /// </summary>
        public int wareId { get; set; }
    }
    public class ServiceTrackInfoDTO
    {
        /// <summary>
        /// 服务单号
        /// </summary>
        public int afsServiceId { get; set; }
        /// <summary>
        /// 追踪标题
        /// </summary>
        public string title { get; set; }
        /// <summary>
        /// 追踪内容
        /// </summary>
        public string context { get; set; }
        /// <summary>
        /// 提交时间
        /// </summary>
        public string createDate { get; set; }
        /// <summary>
        /// 操作人昵称
        /// </summary>
        public string createName { get; set; }
        /// <summary>
        /// 操作人账号
        /// </summary>
        public string createPin { get; set; }
    }
    public class ServiceDetailInfoDTO
    {
        /// <summary>
        /// 商品编号
        /// </summary>
        public int wareId { get; set; }
        /// <summary>
        /// 商品名称
        /// </summary>
        public string wareName { get; set; }
        /// <summary>
        /// 商品品牌
        /// </summary>
        public string wareBrand { get; set; }
        /// <summary>
        /// 明细类型
        /// </summary>
        public int afsDetailType { get; set; }
        /// <summary>
        /// 附件描述
        /// </summary>
        public string wareDescribe { get; set; }
    }
}
